package com.young.ums.service;

import com.young.common.util.Page;
import com.young.ums.model.DeptUser;
import java.util.List;

/**
* 部门用户关联信息(N-N)服务接口
* Created by imrookie on 2018-9-30.
*/
public interface IDeptUserService {

    /**
    * 查询
    * @param obj
    * @return
    */
    List<DeptUser> getList(DeptUser obj);

    /**
    * 分页查询
    * @param obj
    * @param page
    * @return
    */
    List<DeptUser> getPage(DeptUser obj, Page page);

    /**
    * 查询单条
    * @param id
    * @return
    */
    DeptUser get(String id);

    /**
    * 统计数量
    * @param obj
    * @return Integer 满足xx条件的数据有多少条
    */
    int count(DeptUser obj);

    /**
    * 修改
    * @param obj
    * @return
    */
    int update(DeptUser obj);

    /**
    * 删除
    * @param id
    * @return
    */
    int delete(String id);
    /**
     * 删除部门相关的关联关系
     * @param deptId 部门id
     * @return
     */
    int deleteByDeptId(String deptId);

    /**
     * 删除用户相关的关联关系
     * @param userId 用户id
     * @return
     */
    int deleteByUserId(String userId);
    /**
    * 批量删除
    * @param idArr
    * @return
    */
    int delete(String[] idArr);

    /**
    * 插入
    * @param obj
    * @return
    */
    int insert(DeptUser obj);

    /**
    * 批量插入
    * @param list
    * @return
    */
    int batchInsert(List<DeptUser> list);

    /**
     * 批量关联用户(N)到部门(1)
     * @param deptId 部门id
     * @param userIds 用户id数组
     * @return
     */
    int relevanceUsers2Dept(String deptId, String[] userIds);

    /**
     * 判断指定部门和用户是否已经关联
     * @param deptId 部门id
     * @param userId 用户id
     * @return
     */
    boolean isRelevanced(String deptId, String userId);

}